In many control applications, a master device (e.g., a microcontroller) is coupled to one or more slave devices located a distance from the master device. These slave devices fulfill tasks such as measuring a sensor value or outputting power to drive actuators.
The master device may be coupled to the slave devices using any of several topologies. Example topologies include a linear bus structure (e.g., Controller Area Network (CAN) or Local Interconnect Network (LIN)), a ring structure (e.g., Media Oriented Systems Transport (MOST) or daisy-chain), and a peer-to-peer structure (i.e., each slave device individually coupled to the master device, such as in a star network).
The daisy-chain circuit may be either closed or open. A closed daisy-chain circuit is one which data passes from the master device through the slave devices and back to the master device, that is, the master device transmits and receives data that has been transmitted through the slave devices.
The open daisy-chain circuit is one in which data is transmitted downstream from the master device through the slave devices, and then upstream through the same slave devices to return to the master device. The open daisy-chain circuit is often used where the slave devices are located in increasing distance from the master device.
If a daisy-chain circuit is used in safety-relevant applications, specific measures should be taken to ensure correct communication between the master device and the slave devices. Commonly used techniques include a checksum, a check of the data exchange timing, a connectivity check between the devices, and pull-up or pull-down devices at all inputs to ensure a safe input level in case of an open connection. Each of these techniques requires an assumption that the devices, especially the slave devices, are correctly powered. If a slave device is not powered, the communication is interrupted because an output driver of the unpowered slave device drives an undefined voltage (e.g., tristate or floating), and an input driver is unable to detect an input voltage.